// 引入axios模块
import axios from "axios"
import "nprogress/nprogress.css"
import NProress from "nprogress"

// 创建axios实例对象
const mockAjax = axios.create({
  baseURL: "/mock", // 请求的基本路径,所有异步请求的目标服务器地址
  timeout: 2000, // 设置超时时间
})

// 设置请求拦截器
mockAjax.interceptors.request.use((confirm) => {
  // console.log("请求拦截器起动", confirm)
  NProress.start()
  return confirm
})

// 设置响应拦截器
mockAjax.interceptors.response.use(
  (response) => {
    // console.log("响应拦截器起动", response)
    NProress.done()
    return response.data
  },
  (error) => {
    // console.log("报错", error)
    NProress.done()
    // 返回失败的promise
    return Promise.reject(new Error(error.message))
  }
)

// 导出对象
export default mockAjax
